Emmanuele Bassi [Thu, 15 Oct 2020 18:21:27 +0000 (19:21 +0100)]
a11y: Add atspi.Action for GtkPasswordEntry
Emmanuele Bassi [Thu, 15 Oct 2020 20:18:35 +0000 (21:18 +0100)]
Allow toggling the password entry visibility programmatically
We are going to need a method for toggling the visibility from the
accessibility layer.
Emmanuele Bassi [Thu, 15 Oct 2020 18:15:12 +0000 (19:15 +0100)]
a11y: Add atspi.Action for GtkEntry
We need to handle the activation on the entry widget, as well as the
activation of the primary and secondary icons.
Emmanuele Bassi [Thu, 15 Oct 2020 20:13:19 +0000 (21:13 +0100)]
Add GtkEntry icon signals emitter
We need a (private) way to programmatically trigger the activation of
the entry's icons, so that we can call it from the accessibility layer.
Emmanuele Bassi [Thu, 15 Oct 2020 15:05:43 +0000 (16:05 +0100)]
a11y: Add atspi.Action for GtkExpander
Emmanuele Bassi [Thu, 15 Oct 2020 14:55:31 +0000 (15:55 +0100)]
a11y: De-duplicate some action code
The widgets with hard coded actions should share more code, instead of
copy-pasting it.
Emmanuele Bassi [Wed, 14 Oct 2020 17:42:00 +0000 (18:42 +0100)]
a11y: Special case buttons and switches
These widgets have specific actions.
Emmanuele Bassi [Wed, 14 Oct 2020 14:10:03 +0000 (15:10 +0100)]
Initial ATSPI Action implementation for widget
Use the actions from the GtkActionMuxer of each widget to populate the
list of actions available.
Matthias Clasen [Thu, 15 Oct 2020 21:00:44 +0000 (21:00 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3245
See merge request GNOME/gtk!2702
Matthias Clasen [Thu, 15 Oct 2020 20:33:35 +0000 (16:33 -0400)]
Fix compiler warnings
Matthias Clasen [Thu, 15 Oct 2020 20:18:36 +0000 (16:18 -0400)]
actionmuxer: Make it possible to enumerate local actions
This will be useful for exposing actions via the
AT-SPI Actions interface.
Update all callers.
Matthias Clasen [Thu, 15 Oct 2020 20:05:02 +0000 (16:05 -0400)]
spinbutton: Hide the buttons from accessibility
The buttons here are not really buttons (the action
is not tied to the "clicked" signal), so triggering
the buttons via a11y does not have the expected effect.
And we expose the Value interface that ATs can use
to set the value.
Matthias Clasen [Thu, 15 Oct 2020 19:16:06 +0000 (15:16 -0400)]
emojicompletion: Avoid a memory overrun
Don't read beyond the beginning of the string.
Fixes: #3245
Matthias Clasen [Thu, 15 Oct 2020 18:41:40 +0000 (14:41 -0400)]
gtk-demo: Fix some issues with the multi view demo
The nested window was not modal, causing it to be
inoperable. And the nested views within were all
shrunk down to nothingness. Give them some width.
Fixes: #3257
Matthias Clasen [Thu, 15 Oct 2020 17:36:47 +0000 (17:36 +0000)]
Merge branch 'a11y-list-view-selection-fixes' into 'master'
atspi: Add fold markers
See merge request GNOME/gtk!2701
Matthias Clasen [Thu, 15 Oct 2020 17:09:13 +0000 (13:09 -0400)]
atspi: Add fold markers
This makes it much easier to navigate in these
multi-implementation files.
Matthias Clasen [Thu, 15 Oct 2020 17:10:00 +0000 (17:10 +0000)]
Merge branch 'a11y-list-view-selection-fixes' into 'master'
A11y list view selection fixes
See merge request GNOME/gtk!2700
Matthias Clasen [Thu, 15 Oct 2020 16:55:19 +0000 (16:55 +0000)]
Merge branch 'ebassi/for-master' into 'master'
GdkWayland API cleanups
Closes #3249
See merge request GNOME/gtk!2688
Matthias Clasen [Thu, 15 Oct 2020 16:46:52 +0000 (12:46 -0400)]
atspi: Implement Selection more correctly
The Selection interface is defined in terms of child
positions, so we need to always translate from that
to model positions if we want to use the selection
model apis.
Matthias Clasen [Thu, 15 Oct 2020 16:19:58 +0000 (12:19 -0400)]
Remove debug spew
Matthias Clasen [Thu, 15 Oct 2020 16:00:00 +0000 (12:00 -0400)]
wayland: Make gdk_wayland_device_pad_set_feedback private
It is not a generally useful api, and awkwardly named.
Matthias Clasen [Thu, 15 Oct 2020 14:08:03 +0000 (10:08 -0400)]
docs: Explain the symbolic icon paintable situation
Add a paragraph to the migration guide that explains
how to properly render symbolic GtkIconPaintables.
Also mention this in the GtkIconPaintable docs.
There's a reason you can't spell 'paintable' without
'pain'...
Matthias Clasen [Thu, 15 Oct 2020 14:59:24 +0000 (14:59 +0000)]
Merge branch 'a11y/atspi' into 'master'
A11y/atspi
See merge request GNOME/gtk!2698
Matthias Clasen [Thu, 15 Oct 2020 14:50:54 +0000 (14:50 +0000)]
Merge branch 'clipboard-emo' into 'master'
gtk-demo: Fix up image handling in the clipboard demo
Closes #3252
See merge request GNOME/gtk!2697
Matthias Clasen [Thu, 15 Oct 2020 14:25:55 +0000 (14:25 +0000)]
Merge branch 'wip/wayland-dont-respond-to-destroyed-surface-configure' into 'master'
wayland/surface: Clear has_uncommitted_ack_configure when hiding
Closes #3262
See merge request GNOME/gtk!2696
Matthias Clasen [Thu, 15 Oct 2020 13:41:47 +0000 (13:41 +0000)]
Merge branch 'meson-epoxy-subproject' into 'master'
meson: Fix error when epoxy is a subproject on Windows
See merge request GNOME/gtk!2695
Matthias Clasen [Thu, 15 Oct 2020 13:16:17 +0000 (09:16 -0400)]
gtk-demo: Fix up image handling in the clipboard demo
Using GtkIconPaintable+GtkPicture is not good for symbolic
icons - they don't get properly colored that way. So change
things around to use the icon name if we have it.
Fixes: #3252
Jonas Ådahl [Thu, 15 Oct 2020 12:52:57 +0000 (14:52 +0200)]
wayland/surface: Clear has_uncommitted_ack_configure when hiding
The 'has_uncommitted_ack_configure' state was added to make sure we're
responding to 'xdg_surface.configure' events with
'xdg_surface.ack_configure' requests, as is necessary according to spec.
What we didn't do was to clear this state when hiding, meaning that if
we hid the surface after a configure event, but before the frame
finished and we processed the 'has_uncommitted_ack_configure', we'd try
to acknowledge the surface configuration after having destroyed the
surface.
Closes: #3262
Matthias Clasen [Thu, 15 Oct 2020 12:35:06 +0000 (08:35 -0400)]
atspi: Implement Selection for list views
This implementation works for both GtkListView and
GtkGridView, and by extension, also for GtkColumnView
and GtkDropDown, since those just use a list view
internally.
Xavier Claessens [Wed, 14 Oct 2020 21:26:23 +0000 (17:26 -0400)]
meson: Fix error when epoxy is a subproject on Windows
epoxy_dep cannot be used in a configure time check when it comes from a
subproject. Use variables set in pc file instead.
This requires https://github.com/anholt/libepoxy/pull/231.
Matthias Clasen [Thu, 15 Oct 2020 04:09:06 +0000 (00:09 -0400)]
columnview: Set accessible roles
Use the TREE_GRID, ROW, COLUMN_HEADER and GRID_CELL roles
for the various widgets involved in a GtkColumnView. To
enable this, we subclass GtkListView for the internal
list in the column view.
Matthias Clasen [Thu, 15 Oct 2020 03:34:51 +0000 (23:34 -0400)]
listview: Set accessible roles
Use the LIST and LIST_ITEM roles for GtkListView
and its children. Use the GRID and GRID_CELL roles
for GtkGridView and its children.
Matthias Clasen [Thu, 15 Oct 2020 02:27:09 +0000 (22:27 -0400)]
Document accessible roles for stacks and notebooks
This was forgotten when I implemented the Tabs pattern.
Matthias Clasen [Thu, 15 Oct 2020 02:18:31 +0000 (22:18 -0400)]
flowbox: Set accessible roles
Use the GRID and GRID_CELL roles for GtkFlowBox
and GtkFlowBoxChild.
Matthias Clasen [Thu, 15 Oct 2020 02:16:00 +0000 (22:16 -0400)]
listbox: Set accessible roles
Use the LIST and LIST_ITEM roles for GtkListBox
and GtkListBoxRow.
Matthias Clasen [Thu, 15 Oct 2020 01:41:42 +0000 (01:41 +0000)]
Merge branch 'wip/chergert/fix-macos-popup-events' into 'master'
macos: fix popup motion and button event delivery
See merge request GNOME/gtk!2694
Matthias Clasen [Thu, 15 Oct 2020 01:41:06 +0000 (01:41 +0000)]
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
macos: fix crash when displaying a context menu
See merge request GNOME/gtk!2693
Matthias Clasen [Thu, 15 Oct 2020 01:02:02 +0000 (21:02 -0400)]
atspi: Add some docs
Add a comment that explains a few of the more subtle
points of the Atspi context tree contstruction.
Matthias Clasen [Thu, 15 Oct 2020 00:52:33 +0000 (20:52 -0400)]
atspi: Implement Selection for notebook tabs
This is a bit different from the way things were done
in GTK 3 - we follow what was done for GtkStackSwitcher,
and make the tab bar carry the GTK_ACCESSIBLE_TAB_LIST
role, and implement Selection there.
Matthias Clasen [Wed, 14 Oct 2020 23:06:46 +0000 (19:06 -0400)]
notebook: Set accessible roles and properties
Set up the necessary roles, relations and properties
for the tab patterns. This parallels what we have done
for GtkStackSwitcher, and implements the Tabs pattern
as described in the ARIA authoring guidelines.
Matthias Clasen [Wed, 14 Oct 2020 23:05:36 +0000 (19:05 -0400)]
atspi: Don't crash on unnamed stack pages
GtkNotebook creates unnamed stack pages, and we should
not crash when that happens.
Matthias Clasen [Wed, 14 Oct 2020 22:37:14 +0000 (18:37 -0400)]
gizmo: Add a way to set accessible role
This will be used for some of the gizmo used
inside GtkNotebook.
Matthias Clasen [Wed, 14 Oct 2020 05:06:04 +0000 (01:06 -0400)]
atspi: Implement Selection for GtkStackSwitcher
Matthias Clasen [Wed, 14 Oct 2020 04:25:57 +0000 (00:25 -0400)]
stackswitcher: Set up relations and states
Set up a CONTROLS relation between each tab button
and its page, and update the SELECTED property of
the buttons to match their active state.
Matthias Clasen [Wed, 14 Oct 2020 04:18:02 +0000 (00:18 -0400)]
stackswitcher: Use the tablist and tab roles
Set the tablist role on the stackswitcher itself, and
the tab role on the buttons. This is another step towards
implementing the tabs pattern for GtkStack.
Matthias Clasen [Wed, 14 Oct 2020 04:16:23 +0000 (00:16 -0400)]
accessible: Avoid realizing the context prematurely
platform change is called from gtk_widget_set_focusable
which is likely to be called early on in init(). We don't
want to create an AT context that early if we can help
it, e.g. since it makes it impossible to override the
accessible-role with a construct property.
Matthias Clasen [Wed, 14 Oct 2020 03:44:50 +0000 (23:44 -0400)]
stack: Turn pages into accessibles
This requires some cleanup to remove assumptions
about accessibles being widgets in the backend,
and some code to navigate the tree with these
extra objects in between widgets.
The accessibles for stack pages have the role
GTK_ACCESSIBLE_ROLE_TAB_PANEL. This is the first
step towards implementing the tabs patterns
as described in the aria authoring guidelines
for GtkStack.
Christian Hergert [Wed, 14 Oct 2020 23:59:38 +0000 (16:59 -0700)]
macos: fix discover of surface under cursor
This was incorrectly reporting the toplevel surface instead of the
popup surface that was placed above it. This fixes event delivery
to popups for selecting menu items and more.
Christian Hergert [Wed, 14 Oct 2020 23:26:52 +0000 (16:26 -0700)]
macos: only emit popup-layout-changed after initial present
Otherwise we risk being re-entrant where GtkPopover will not have a
GdkPopupLayout causing other issues.
Christian Hergert [Wed, 14 Oct 2020 23:26:14 +0000 (16:26 -0700)]
macos: ensure we have access to a GdkMonitor
Matthias Clasen [Wed, 14 Oct 2020 23:04:03 +0000 (23:04 +0000)]
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
macos: fix button release events outside of window during grabs
See merge request GNOME/gtk!2692
Christian Hergert [Wed, 14 Oct 2020 22:42:45 +0000 (15:42 -0700)]
macos: allow pointer release event outside surface coords
This helps with grab situations so that we can end it when releasing
the pointer buttons outside of the window coordinates.
Christian Hergert [Wed, 14 Oct 2020 22:31:29 +0000 (15:31 -0700)]
macos: break grabs after sending release event
Christian Hergert [Wed, 14 Oct 2020 21:08:23 +0000 (14:08 -0700)]
macos: dont send crossing events during grab
Fixes an issue where we can't drag scrollbars or text selections while
outside of the application window.
Matthias Clasen [Wed, 14 Oct 2020 19:10:11 +0000 (19:10 +0000)]
Merge branch 'wip/chergert/gdk-macos-fixes' into 'master'
GTK4: fix macos device state query for surfaces
See merge request GNOME/gtk!2690
Matthias Clasen [Wed, 14 Oct 2020 19:07:09 +0000 (15:07 -0400)]
Merge branch 'wip/baedert/for-master'
Leaving out the gboolean -> bool change.
Timm Bäder [Tue, 13 Oct 2020 07:58:40 +0000 (09:58 +0200)]
pixbufutils: Pass calculated height value along
Timm Bäder [Tue, 13 Oct 2020 07:56:48 +0000 (09:56 +0200)]
main: Make sure we don't leak axes
Mainly a change to appease the static analyzer
Timm Bäder [Tue, 13 Oct 2020 07:56:32 +0000 (09:56 +0200)]
infobar: Remove unused include
Timm Bäder [Tue, 13 Oct 2020 03:36:03 +0000 (05:36 +0200)]
overlay: Remove empty finalize implementation
Timm Bäder [Sun, 11 Oct 2020 18:11:39 +0000 (20:11 +0200)]
gtk4-demo: Add missing margin-bottom
This was setting margin-end twice
Timm Bäder [Sun, 11 Oct 2020 17:59:00 +0000 (19:59 +0200)]
gtk4-demo: Remove connection to removed signal
Timm Bäder [Sun, 11 Oct 2020 17:56:22 +0000 (19:56 +0200)]
stacksidebar: Fold some functions into their only callers
Timm Bäder [Sun, 11 Oct 2020 17:30:15 +0000 (19:30 +0200)]
stacksidebar: Set GtkListBox:show-separators
Instead of doing this ourselves
Timm Bäder [Sun, 11 Oct 2020 16:57:10 +0000 (18:57 +0200)]
frame: Remove need_resize logic
gtk_widget_set_parent() will queue a resize anyway.
Timm Bäder [Sun, 11 Oct 2020 10:21:54 +0000 (12:21 +0200)]
windowcontrols: gtk_widget_get_root() can return NULL
Timm Bäder [Sun, 11 Oct 2020 10:17:53 +0000 (12:17 +0200)]
windowcontrols: decoration-layout is nullable
Timm Bäder [Sun, 11 Oct 2020 09:58:11 +0000 (11:58 +0200)]
stylecontext: Remove some unnused includes
Timm Bäder [Sun, 11 Oct 2020 09:55:04 +0000 (11:55 +0200)]
snapshot: Refactor some device code
Make a bit clearer what this does.
Timm Bäder [Sun, 11 Oct 2020 09:51:19 +0000 (11:51 +0200)]
Remove unneeded gtkstylecontext.h includes
Timm Bäder [Sun, 11 Oct 2020 09:40:31 +0000 (11:40 +0200)]
stylecontext: Remove render_insertion_cursor()
This is unused and there already is a snapshot alternative.
Timm Bäder [Sun, 11 Oct 2020 08:26:25 +0000 (10:26 +0200)]
widget: Remove gtk_widget_list_devices() from private header
Timm Bäder [Sun, 11 Oct 2020 08:22:20 +0000 (10:22 +0200)]
window: Remove unused struct member
Timm Bäder [Sun, 11 Oct 2020 08:17:18 +0000 (10:17 +0200)]
widget: Slightly update opacity docs
Timm Bäder [Sat, 10 Oct 2020 18:20:38 +0000 (20:20 +0200)]
gl renderer: Fix private function name
It's a GskGLRenderer, not a GskGLRender
Timm Bäder [Sat, 10 Oct 2020 17:57:29 +0000 (19:57 +0200)]
gl renderer: Add more scale_x/scale_y code
We really need all of this to be aware of both dimensions of course...
Timm Bäder [Sat, 10 Oct 2020 17:50:21 +0000 (19:50 +0200)]
gl renderer: Remove two unused uniforms
Timm Bäder [Sat, 10 Oct 2020 17:39:33 +0000 (19:39 +0200)]
gl renderer: return empty texture for too small blurred nodes
Timm Bäder [Sat, 10 Oct 2020 17:03:02 +0000 (19:03 +0200)]
gl renderer: Use op builder to render flipped texture
Otherwise, we don't know about the uniform state
Timm Bäder [Sat, 10 Oct 2020 17:02:43 +0000 (19:02 +0200)]
showrendernode: Plug GOptionContext memory leak
Timm Bäder [Sat, 10 Oct 2020 16:40:03 +0000 (18:40 +0200)]
gl renderer: Remove unused parameter
Timm Bäder [Sat, 10 Oct 2020 15:17:43 +0000 (17:17 +0200)]
filechooserwidget: Cosmetics
Timm Bäder [Sat, 10 Oct 2020 15:13:50 +0000 (17:13 +0200)]
testfilechooser: Stop listening to ::selection-changed
Doesn't exist anymore.
Timm Bäder [Sat, 10 Oct 2020 07:16:30 +0000 (09:16 +0200)]
gl renderer: Use nearest filtering for textures in render_texture()
Makes the output in the node editor a bit more bearable.
Timm Bäder [Sat, 10 Oct 2020 06:43:52 +0000 (08:43 +0200)]
build: Only add -Wcast-align for gcc
Either we or clang needs to get its shit together about this warning.
But using it during development with clang just makes actually usable
warnings get lost in a flood of -Wcast-align warnings.
Timm Bäder [Sat, 10 Oct 2020 06:42:53 +0000 (08:42 +0200)]
vulkan: Remove double initialization
Clang said:
../gsk/vulkan/gskvulkanrenderpass.c:250:5: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
.render.node = node
^~~~~~~~~~~~~~~~~~~
../gsk/vulkan/gskvulkanrenderpass.c:249:13: note: previous initialization is here
.type = GSK_VULKAN_OP_FALLBACK,
^~~~~~~~~~~~~~~~~~~~~~
Timm Bäder [Fri, 9 Oct 2020 16:20:28 +0000 (18:20 +0200)]
gl renderer: Avoid some code duplication
Timm Bäder [Thu, 8 Oct 2020 16:00:36 +0000 (18:00 +0200)]
gl renderer: Flip texture in render_texture()
Timm Bäder [Thu, 8 Oct 2020 15:58:37 +0000 (17:58 +0200)]
glsl: Add a comment
Timm Bäder [Thu, 8 Oct 2020 03:56:26 +0000 (05:56 +0200)]
gtkbuilder: Remove pointless function prototype
Timm Bäder [Sat, 3 Oct 2020 09:48:36 +0000 (11:48 +0200)]
gdkgl: Remove flipping when downloading GL texture
This fix is correct and fixes:
1) GL textures being upside down in the inspector. They are getting
downloaded because they've been created in a different GL context
2) GL textures being upside down in the cairo renderer (same reason)
However, it breaks the testsuite. We do the flipping via the projection
matrix, but most of the shaders don't care about that.
Timm Bäder [Thu, 1 Oct 2020 07:47:34 +0000 (09:47 +0200)]
gdkgl: Stop getting the clip region from cairo
Unused
Timm Bäder [Thu, 1 Oct 2020 07:38:39 +0000 (09:38 +0200)]
gl renderer: simplify ->render() implementation a bit
We already use self->scale_factor when initialized whole_surface,
so set self->scale_factor first.
Timm Bäder [Thu, 1 Oct 2020 06:39:37 +0000 (08:39 +0200)]
shaderbuilder: Print error message after source code
My terminal scrolls down, so showing the error message last makes sense.
Timm Bäder [Thu, 1 Oct 2020 06:39:19 +0000 (08:39 +0200)]
gl renderer: Add a helper to setup projection matrix
Timm Bäder [Thu, 1 Oct 2020 06:29:10 +0000 (08:29 +0200)]
gl renderer: Ignore rendering if accumulated opacity is too small
Timm Bäder [Thu, 1 Oct 2020 04:24:20 +0000 (06:24 +0200)]
gdkgl: Rename function
This returns the name of the shader type.
Timm Bäder [Thu, 1 Oct 2020 04:18:37 +0000 (06:18 +0200)]
unblurred outset shadow shader: Use premultiply()
Timm Bäder [Wed, 30 Sep 2020 04:00:50 +0000 (06:00 +0200)]
gl renderer: Use premultiply() in inset shadow shader`
Timm Bäder [Tue, 29 Sep 2020 17:54:50 +0000 (19:54 +0200)]
glarea demo: Add min size to gl area